package com.mt.restaurant.service.staff;

import com.mt.common.core.web.base.PageDTO;
import com.mt.common.core.web.base.PageResultDTO;
import com.mt.restaurant.entity.staff.RoleSalary;

import java.util.List;

public interface RoleSalaryService {
    /**
     * 根据分页参数查询角色薪资集合
     *
     * @param pageDTO 分页条件
     */
    public PageResultDTO findRoleSalarys(PageDTO pageDTO);

    /**
     * 查询全部角色薪资集合
     *
     */
    public List<RoleSalary> findAllRoleSalarys();

    /**
     * 根据名称查询角色薪资集合(只提取ID 和 Name)
     *
     * @param roleSalaryName 名称
     */
    public List<RoleSalary> findRoleSalarysWithIdNameByName(String roleSalaryName);

    /**
     * 查询所有角色薪资集合(只提取ID 和 Name)
     *
     */
    public List<RoleSalary> findAllRoleSalarysWithIdName();

    /**
     * 根据ID查询指定的角色薪资(只提取ID 和 Name)
     *
     * @param roleSalaryId Id
     */
    public RoleSalary findRoleSalarysWithIdNameById(Long roleSalaryId);

    /**
     * 根据ID查询指定的角色薪资
     *
     * @param roleSalaryId Id
     */
    public RoleSalary findRoleSalary(Long roleSalaryId);

    /**
     * 根据ID查询指定的角色薪资(包含外键)
     *
     * @param roleSalaryId Id
     */
    public RoleSalary findRoleSalaryWithForeignName(Long roleSalaryId);

    /**
     * 新增角色薪资
     *
     * @param roleSalary 实体对象
     */
    public RoleSalary saveRoleSalary(RoleSalary roleSalary);

    /**
     * 更新角色薪资
     *
     * @param roleSalary 实体对象
     */
    public RoleSalary updateRoleSalary(RoleSalary roleSalary);

    /**
     * 根据ID删除角色薪资
     *
     * @param roleSalaryId ID
     */
    public void deleteRoleSalary(Long roleSalaryId);
}
